import { ElMessage } from 'element-plus'
import axios from 'axios';
import {parse} from "qs"

//数据请求字符
//axios.defaults.baseURL = import.meta.env.VITE_BASE_API;
axios.defaults.baseURL = '/api'
// 如果请求话费了超过 `timeout` 的时间，请求将被中断
axios.defaults.timeout = 50000000;
// 表示跨域请求时是否需要使用凭证
axios.defaults.withCredentials = false;
// axios.defaults.headers.common['token'] =  AUTH_TOKEN
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
// 允许跨域
axios.defaults.headers.post["Access-Control-Allow-Origin-Type"] = "*";
// 请求拦截器
axios.interceptors.request.use(function(config){
        if( config.method === "post" ||
            config.method === "put" ||
            config.method === "delete"
        ){
            config.data= parse(config.data);
        }
        return config;
    }, error =>{
        ElMessage.error(error.data.error.message);
        return Promise.reject(error.data.error.message) 
    }
)
// 响应拦截器
axios.interceptors.response.use(function (config){
    console.log(`status:${config.status}`);
    if(config.status === 200 || config.status === 204){
        return Promise.resolve(config);
    }else{
        return Promise.reject(config);
    }
},function(error){
    //TODO
    ElMessage.error(error);
}
)
export default axios;